home *** CD-ROM | disk | FTP | other *** search
/ Racing Games (Spidla) / zavodni.iso / Fun Racing / src / FRDodge.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-06-19  |  2.7 KB  |  112 lines

  1.  
  2.  
  3. #ifndef FRDODGE_H
  4. #define FRDODGE_H
  5.  
  6. #include "FRCar.h"
  7.  
  8. class FRDodge : public FRCar
  9. {
  10.     TERTTIDeclaration;
  11.  
  12. public:
  13.  
  14.     FRDodge(TEVector &rCenter, Float fInitYRot)
  15.     {
  16.         TEOBoundingBox *pOBox = new TEOBoundingBox;
  17.         TEAABoundingBox BBox;
  18.         TEVector Min, Max;
  19.         TEEngine *pEngine = TEEngine::GetEngine();
  20.         TESoundManager* pSound = TESoundManager::GetSoundManager();
  21.         TEString Name;
  22.         
  23.         Name = "motor3.ogg";
  24.         m_pMotor = pSound->GetSound(Name);
  25.         Name = "brake.ogg";
  26.         m_pBraking = pSound->GetSound(Name);
  27.         Name = "horn1.ogg";
  28.         m_pHorn = pSound->GetSound(Name);
  29.         
  30.         m_fMass = 1600.0f;
  31.  
  32.         m_fMaxRPM = 5000.0f;
  33.         m_fRotFactor = 90.0f;
  34.  
  35.         m_ulNumGears = 6;
  36.         m_aGears = new FRGearInfo[6];
  37.  
  38.         m_aGears[0].fRPMChange = 3500.0f;
  39.         m_aGears[0].fRPMTrans = -100.0f;
  40.         m_aGears[1].fRPMChange = 3500.0f;
  41.         m_aGears[1].fRPMTrans = 100.0f;
  42.         m_aGears[2].fRPMChange = 2500.0f;
  43.         m_aGears[2].fRPMTrans = 150.0f;
  44.         m_aGears[3].fRPMChange = 500.0f;
  45.         m_aGears[3].fRPMTrans = 250.0f;
  46.         m_aGears[4].fRPMChange = 200.0f;
  47.         m_aGears[4].fRPMTrans = 400.0f;
  48.         m_aGears[5].fRPMChange = 150.0f;
  49.         m_aGears[5].fRPMTrans = 500.0f;
  50.  
  51.         m_Center = m_OldCenter = rCenter;
  52.         m_Rotation = TEVector(0.0f, fInitYRot, 0.0f);
  53.  
  54.         m_pModelRef = TEModelManager::GetModelManager()->GetModel("dodge.tmf");
  55.         TEAssert(m_pModelRef);
  56.  
  57.         m_pModelRef->SetAnimation(0);
  58.         m_pModelRef->SetTimeScale(0);
  59.         m_pModelRef->SetLoopAnimation(true);
  60.         
  61.         BBox = m_pModelRef->GetModelBBox();
  62.         BBox.GetData(Min, Max);
  63.         m_CarSize = Max - Min;
  64.  
  65.         m_Center.m_fX = m_OldCenter.m_fX = rCenter.m_fX;
  66.         m_Center.m_fY = m_OldCenter.m_fY = m_fDeltaY = TEAbs(Min.m_fY) + 0.05f;
  67.         m_Center.m_fZ = m_OldCenter.m_fZ = rCenter.m_fZ;
  68.  
  69.         pOBox->SetData(m_Center, Min, Max, m_Rotation);
  70.  
  71.         m_pBoundingVolume = pOBox;
  72.  
  73.         m_fFrontAxis = 0.0f;
  74.         m_fRearAxis = -42.0f;
  75.  
  76.         m_fWheelWidth = 3.5f;
  77.         m_fWheelMov = 2.5f;
  78.  
  79.         m_aLightPos[0] = TEVector(-7.75f, -0.5f,  37.0f);
  80.         m_aLightPos[1] = TEVector( 7.75f, -0.5f,  37.0f);
  81.         m_aLightPos[2] = TEVector(-9.75f, -1.5f, -35.5f);
  82.         m_aLightPos[3] = TEVector( 9.75f, -1.5f, -35.5f);
  83.  
  84.         m_fBrakeEfficiency = 14.0f;
  85.  
  86.         UpdateVectors();
  87.  
  88.         if(ms_bSmoke)
  89.         {
  90.             TEVector Center = m_pBoundingVolume->GetCenter();
  91.             TEVector Tmp = Center + m_aExhaustPos[0].m_fX * m_Right +
  92.                 m_aExhaustPos[0].m_fY * m_Up + m_aExhaustPos[0].m_fZ * m_Forward;
  93.             
  94.             m_usNumExhaust = 1;
  95.             m_aExhaustPos[0] = TEVector(10.0f, -4.5f, -38.0f);
  96.             
  97.             m_aExhaust[0] = new TEParticleFX(Tmp, 2, 4, 1.5f, 0, 0, 0, m_Up, 250, 1000,
  98.                 255, 1.0f, true, false);
  99.             
  100.             m_aExhaust[0]->SetColor(255, 255, 255);
  101.             
  102.             pEngine->AddParticleSystem(m_aExhaust[0]);
  103.         }
  104.  
  105.         if(m_pMotor != NULL)
  106.             m_pMotor->Play3D(m_Center, m_Velocity, TESOUND_LOOP, 1.0f);
  107.     }
  108. };
  109.  
  110. #endif
  111.  
  112.